package com.ncf.jucai.mybatis.dao;

import com.ncf.jucai.model.criteria.PageInfo;
import com.ncf.jucai.model.misc.PagedResult;

import java.util.List;

public interface IBaseDao<Entity, Mapper, Example> {

    Mapper getMapper();

    Entity select(Object pk);

    int insert(Entity entity);

    int update(Entity entity);

    int updateByExampleSelective(Entity record, Example example);

    int updateByExample(Entity record, Example example);

    int delete(Object pk);

    PagedResult<Entity> selectByExample(Example example, PageInfo pageInfo);

    List<Entity> selectByExample(Example example);



}
